//http request 请求拦截器，有token值则配置上token值
import axios from 'axios';
axios.interceptors.request.use(
    config => {
      const token = window.localStorage.getItem('token')
      if (token) {  // 每次发送请求之前判断是否存在token，如果存在，则统一在http请求的header都加上token，不用每次请求都手动添加
        config.headers.Authorization = `Bearer ${token}`;
      }
      return config;
    },
    err => {
      return Promise.reject(err);
   });
   // http response 拦截器 ,拦截401状态（token过期），重新登录
axios.interceptors.response.use(
    response => {
        return response;
    },
    error => {
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    // 返回 401 清除token信息并跳转到登录页面
                    window.localStorage.removeItem('token')
                    router.replace({
                        path: '/',
                    })
            }
        }
    return Promise.reject(error.response.data)   // 返回接口返回的错误信息
});